// InputMethod.h: interface for the CInputMethod class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_INPUTMETHOD_H__F9EFDB2B_0180_4B66_9E72_2027789D0367__INCLUDED_)
#define AFX_INPUTMETHOD_H__F9EFDB2B_0180_4B66_9E72_2027789D0367__INCLUDED_

//////////////////////////////////////////////////////////////////////////
#include "cx_typedef.h"
#include "EIMNotify.h"

//////////////////////////////////////////////////////////////////////////

enum TAknEditingState
{
	EStateNone,
	ET9Upper,
	ET9Lower,
	ET9Shifted,
	ENumeric,
	EMultitapUpper,
	EMultitapLower,
	EMultitapShifted,
};

// 
// 
// struct S_uid: public TUid
// {
// 	S_uid(int i)
// 	{ 
// 		iUid = i;
// 	}
// } ;

class MAknEditingStateIndicator
{
public:
	virtual void SetState(TAknEditingState aState) = 0; 
   /* virtual CAknIndicatorContainer *IndicatorContainer() = 0;*/
};

class CInputMethod  
{
public:
	CInputMethod();
	virtual ~CInputMethod();
	
	QVOID  NotifyInputMethodChange();
	QINT  GetInputMethodMode() const { return m_nInputMode ;}
	
	enum
	{
		EIMID_EMPTY = -1,
		EIMID_PINYIN = 0,
		EIMID_BIHUA = 1,
		EIMID_123 = 2,
		EIMID_ABCLC = 3,
		EIMID_ABCFIRSTUC = 4,
		EIMID_ABCUC = 5,
		EIMID_PINYINCIZU = 6,
		EIMID_BIHUACIZU = 7,		
	};
private:

	QINT m_nInputMode;
};

#endif // !defined(AFX_INPUTMETHOD_H__F9EFDB2B_0180_4B66_9E72_2027789D0367__INCLUDED_)
